package cn.mach;

import java.util.Random;


public class Main {
	public static void main(String[] args) {
		Random rand = new Random();
		Machine m = new Aircraft();
		boolean flag=true;
		while( flag==true ) {
		  int op = rand.nextInt( 10 ); // 随机产生 [ 0 , 10 ) 之间的数字
		  switch( op ) {
		    case 0 :
		    	if(m.getenergy()>=10) {
		    		m.run();
				    break;
				}
				else {
					System.out.println("能源不足");
					flag=false;
				}    	
		      // 需要判断能量是否足以完成 陆地驾驶 操作，若不足就跳出循环 (如何从switch直接跳出while循环?)
		      // 执行 陆地驾驶 操作 ( Machine 不具备陆地驾驶能力，需要转换为 Roadable 才可以调用 run 方法 )
		      break;
		    case 1 :
		    	if(m.getenergy()>=15) {
		    		m.voyage();
				    break;
				}
				else {
					System.out.println("能源不足");
					flag=false;
				}    	
		      // 需要判断能量是否足以完成 水中航行 操作，若不足就跳出循环
		      // 执行 水中航行 操作 ( Machine 不具备水中航行能力，需要转换为 Voyageable 才可以调用 voyage 方法 )
		    case 2 :
		    	if(m.getenergy()>=25) {
		    		m.fly();
				    break;
				}
				else {
					System.out.println("能源不足");
					flag=false;
				}    	
		      // 需要判断能量是否足以完成 空中飞行 操作，若不足就跳出循环
		      // 执行 空中飞行 操作 ( Machine 不具备空中飞行能力，需要转换为 Flyable 才可以调用 fly 方法 )
		    default :
		    	System.out.println("操作不当");
		    	continue;
		      // 不支持的操作
		  }
		}
		System.out.println("剩余能源:"+m.getenergy());
		// 最后输出 飞行器 的剩余能量
	}
}
